import dayjs from 'dayjs'
/**
 * 处理查询的日期时间格式
 * @param {object} postData
 * @param {object} maps
 * @eg
  {
    create: { data: ['create_start', 'create_end'], format: 'YYYY-MM-DD' },
    createTime: { data: ['create_start_time', 'create_end_time'], format: 'YYYY-MM-DD HH:mm:ss' },
  }
 * @returns {Object}
 */
export function dealQueryDate(postData, maps) {
    if (!postData || !maps) {
        return {}
    }
    const formData = JSON.parse(JSON.stringify(postData))
    Object.keys(maps).forEach((name) => {
        const arr = formData[name] // 当前的日期范围数组
        const obj = maps[name] // 需要转换成的日期字段，开始、结束、格式
        if (!arr || !obj || !obj.data) {
            return
        }
        obj.data.forEach((field, index) => {
            if (!arr[index]) {
                return
            }
            // 取得开始、结束重新赋值
            formData[field] = dayjs(arr[index]).format(obj.format || 'YYYY-MM-DD')
        })
        // 删除原字段
        delete formData[name]
    })
    return formData
}

/**
 * 处理提交的表单数据，将空值去掉
 * @param {*} data
 */
export function dealFormData(data) {
    if (!data) {
        return
    }
    const o = {}
    Object.keys(data).forEach(name => {
        const v = data[name]
        if (v === undefined || v === null || v === '') {
            return
        }
        o[name] = v
    })
    return o
}
